// import { template } from "handlebars";

$(function () {
    var currentPage = 1;
    var pageSize = 3;

    function render() {
        $.ajax({
            url: '/category/queryTopCategoryPaging',
            data: {
                page: currentPage,
                pageSize: pageSize
            },
            dataType: 'json',
            success: function (info) {
                $('tbody').html(template('tmp', info));
                // 分页
                setPage(info.total)
            }
        })
    }
    render();

    function setPage(total) {
        $('#paginator').bootstrapPaginator({
            bootstrapMajorVersion: 3, //默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage, //当前页
            totalPages: Math.ceil(total / pageSize), //总页数  
            // 点击分页标签的回调函数 
            onPageClicked: function (event, originalEvent, type, page) {
                //为按钮绑定点击事件 page:当前点击的按钮值
                currentPage = page; //更新当前页面
                //渲染对应页码
                render();
            }
        })
    }

    // 表单验证
    $('#form').bootstrapValidator({
         //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
         excluded: [':disabled', ':hidden', ':not(:visible)'],

         //2. 指定校验时的图标显示，默认是bootstrap风格
         feedbackIcons: {
             valid: 'glyphicon glyphicon-ok',
             invalid: 'glyphicon glyphicon-remove',
             validating: 'glyphicon glyphicon-refresh'
         },
         // 3-验证的字段 
         fields:{
            categoryName:{
                validators:{
                    notEmpty:{
                        message:'一级分类不能为空'
                    },
                    regexp:{
                        regexp:/^[a-zA-Z0-9_\u4e00-\u9fa5]+$/,
                        message:'只能包含大写、小写、数字和下划线汉字'
                    },
                    stringLength:{
                        min:2,
                        max:8,
                        message:'长度是2-8位'
                    }
                }
            }
         }
    })

    //4-点击确定按钮，在表单验证通过的情况下，向后台发生请求，添加分类数据，
    $('#form').on('success.form.bv',function(e){
        e.preventDefault();
        $.ajax({
            url:'/category/addTopCategory',
            data:$('#form').serialize(),
            type:'post',
            dataType:'json',
            success:function(info){
                currentPage = 1;
                render();
                // 表单重置
                // resetForm() 默认情况下值重置验证样式， 不重置表单数据
                // resetForm(true) 既重置样式又重置数据
                $('#form').data('bootstrapValidator').resetForm(true);
                // 模态框隐藏
                $('.modal-add').modal('hide');
            }
        })
    })

})